Einleitung

 Introduction:
HelpVersion: 2.1.5

What is XSubst?
  • With XSubst arbitrary directories can be addressed just like disk drives. This corresponds to the command SUBST known since DOS times, yet, XSubst is not just a Windows GUI for this DOS command, but a pure Windows application.
  • It concisely shows all disk drives and their allocations as for example network drives and their paths or "subst"-ed disk drives with their paths as well as CD-ROMs, removable media etc.
  • Moreover, "subst"-ed disk drives can be mounted either temporarily or permanently.
  • Starting with V1.0.80 network drives can be also administered. However, this is a bonus feature and not all functions of the "subst"-ed disk drives are available.
  • Since V1.5 multi user support is available, i.e. the configuration is administered for each Windows user separately.
XSubst also offers comfort functions as such as:
  • Automatically mounting disk drives on a permanent basis.
  • Changing of the path of "subst"-ed or network drives without having to dismount it priorily.
  • Changing of a "subst"-ed disk drive in a network drive and vice versa in one step.
  • Renewing of the connection of inactive "subst"-ed disk drives.
  • Automatically or manually placing disk drive shortcuts on the desktop
  • Since V1.6 the most important functions (connecting / separating) are available optionally also as shell context extensions in the workplace / explorer.
  • Since V2.0 there is also Multilanguage support available. By means of so-called language packs XSubst can be translated in principle into any language provided it is based on Latin alphabet.
What it cannot do!? (Restrictions)
  • XSubst is no CD-ROM emulator. It cannot replace such programs like daemon tools. It allows for a comfortable handling of "subst"-ed disk drives without need for the DOS counterpart SUBST. No more and no less.
  • The management of network drives is subject to the rules of XSubst. Thus, only network drives can be set up for which the user also has sufficient rights. The management of the network drives is to be seen as a bonus, the major task of XSubst remains the management of "subst"-ed disk drives.
  • XSubst does not provide a batch mode but restricted to its GUI operation. I simply see no sense in it being able of batch operations because XSubst was primarily developed to operate "subst"-ed disk drives comfortably about Windows. Whoever searches an alternative capable of batch mode, should have a look at vSubst.
  • Not compatibly with Win 95! For this Windows version I would have to alter a lot in XSubst since Win 95 does not offer a API for "subst"-ed disk drives. Win 98 is the minimum requirement.
Notes concerning this help
  • The areas of this help can be retrieved context-dependently with the <F1> key. For example, if you are in the configuration and press <F1>, the section "configuration" of the help is shown.
  • Functions referring to the keyboard are marked with angle brackets. Example: <Return>.
  • Functions referring to buttons or functions of XSubst, are shown in curly brackets. Example: {Change}
  • Tips are shown like this.
  • Important tips are shown like this.
Guarantee
This program is delivered "as is". The author gives no guarantee whatsoever with regard to the correct operation of this program, therefore no liability is accepted for possible damages caused by using this program. Installation and usage is done at one's own risk!

Moreover, not liability is accepted for possible floods, earthquakes, formatted hard disks, burnt through power supply units and son on. Furthermore, it is not also the fault of the author if you cause the golden hamster to your neighbour to explode because you are using this program. Also the lamentation of some people that this program has immobilised the power supply systems of entire districts is just a rumour and was never officially confirmed.

Licence
This program is strictly a freeware and may be used in private as well as in commercial environments free of charge. It is allowed to offer this program on web pages for downloading provided it is complete and in an unchanged condition. It is allowed to offer this program on data carriers like CD and DVD (as a free addition) provided it is complete and in an unchanged condition. It is not allowed to claim money for the explicit supply of this program! It is not allowed to modify this program in any form!

Donation:
XSubst is and remains freeware. However, I would not stall anybody who deems XSubst worth a donation. ;) Whoever would like to donate something, can get my account data by E-MAIL.


Bedienung

 Operation:

In general:

The setup of “subst”-ed as well as network drives is done in simple steps: in the beginning the desired disk drive is selected and then the connect button has to be clicked. Afterwards the desired path can be selected. This can be a local path as well as a network release. Then it automatically either a “subst” or a network drive is created. With the button “separation” the respective disk drive can be unmounted again permanently. All functions apply to “subst”-ed as well as network drives, that is they are identical in operation and functionality. Besides, it is checked in any case whether a function is available or not and appropriate buttons are then activated resp. deactivated. Thus it is not to possible to perform any operation which would be counterproductive.

The columns of the disk drive list:
The order of the columns as well as the window width can be freely adjusted if the function “column positions and window width” is activated. To place a column in another position, it is enough to move the column head with the left mouse button to the new position.

Drive:
Here all available disk drives are displayed ordered alphabetically.

Permanent:
This column indicates whether a disk drive exists only for the current Windows session or also after a restart. If the entry for the respective disk drive is empty, the allocation is valid only for the current session. If there is shown a "Yes", it is a permanently mounted disk drive, which will still exist after a restart. If the disk drive is named as "deactivated", the Subst disk drive is permanently deactivated.

Type:
Indicates which kind of disk drive the drive really is, for example CD-ROM, hard disk etc.; "Subst" indicates that a drive is a “subst”-ed drive.

Path:
Here the path with which a disk drive is connected is displayed. With a “subst”-ed drive the path indicates a local directory and with a network drive the according UNC path.

The status bar:
At the bottom of the main window the status bar displays some information.

User:
Shows the login name of the current Windows user. All data are administered specifically for the users.

Autostart:
Indicates at any time whether XSubst will be launched at the next Windows restart or not. This depends on the configuration and/or whether at least one active permanent Subst disk drive exists.

Function range:
If XSubst is installed on a local disk, the entire function extent is given. However, if it is launched from a USB-stick, there are some restrictions. (See attachment / technical details / installations on USB-stick ).

Differences of the available functions with “subst”-ed and network drives:
The most important functions for both disk drive types are identical in their service and function are fundamentally the same. Nevertheless, there are of course differences, because a “subst”-ed disk drive differs from a network drive:

1.) The functions activate / deactivate / permanently deactivate are available only with “subst”-ed disk drives.
2.) The state permanent/temporarily can be changed with Subst disk drives without having to separate the connection. This is not possible with network drives.

Let’s have a look at the single functions more closely:

Functions:

Some buttons are allocated twice and depending on the respective allocation change between two different functions.

Tip: To be able to operate functions without mouse, every button has its own shortcut. These are called by means of <alt> plus the underlined letter. For example the function “connect” can be reached with <alt> + <c>.

Tipp2: The shortcuts may vary depending on the selected language pack.

Connect/Modify:

Connect:
By this function “subst”-ed as well as network drives can be set up. However, it is not necessary to select this, XSubst itself knows based on the path structure which disk drive type is to be set up. In the dialog “folder selection´” the path is simply selected and confirmed with OK.

Modify:
Behind this simply sounding word, a rather complex function is hidden offering a lot of convenience. Based on the available means of Windows this amenity would not be possible. The most important function is the changing of the path of a disk drive. It is of no importance whether this concerns “subst”-ed or network drives. The operation of this function is similar to the function connect: the requesting dialog for the folder selection is shown. Again this selection has to be confirmed with OK. Afterwards the path of the selected disk drive is changed without previously separating it; thus a new installation is not necessary. This allows for the direct change of a “subst”-ed disk drive to a network drive and vice versa.

Changing a disk drive letter by drag&drop:
As simply as the path of a disk drive can be changed, another disk drive letter can be also assigned to a path. This is simply done by dragging the concerned entry onto the desired free disk drive with the mouse and let go. All active states and settings of the disk drive are switched over, too, of course.

Permanent/Temporary:

Permanent:
Should a disk drive be again available after the next start of Windows, the disk drive can be set up accordingly with this button.

Temporary:
Naturally a permanent disk drive can be also redefined as temporary thus it will not exist after the next restart any more. This function is only available for “subst”-ed disk drives if XSubst was launched from a local hard disk.

Tip: In the configuration can be determined whether new disk drives should be automatically set up as permanent drives. (See configuration)

Enable/Disable:
This is a special function only for “subst”-ed disk drives, because it is not necessary / possible with network drives in similar situations.

Enable:
This function helps when, e.g., on starting Windows a “subst”-ed disk drive on an external disk could not be mounted because this external drive was not connected on the restart. In this case a click on this function is enough to mount the drive after the external disk is reconnected to the computer. Thus a renewed setup of the disk drive can be avoided. However, this function can be also used to reactivate a permanently deactivated disk drive.

Disable:
By this function a permanently “subst”-ed disk drive can be temporarily deactivated without deleting the entry completely. The disk drive is dismounted for the duration of the current session and will be available after a restart.

Disable perm. (Disable permanently):
In principle, here applies the same as for deactivating a drive, however, the disk drive is not set up after a restart any more. This is helpful if a disk drive is not required any more but a deletion deems not necessary at the time.

Disconnect:
The counterpart of connecting to a drive. With this function the drive is disconnected from a “subst”-ed or network drive once and for all and will not be available after a restart any more.

Link on desktop:
This function generates a shortcut of the selected disk drive on the desktop. Before the shortcut is generated, the name of the shortcut can still be customised. Additionally, in the comment of the shortcut the path of the disk drive is automatically entered which appears in the tool tip of the shortcut under W2K and XP.

Tip: With newly set up permanent disk drives this can also be automated. (See configuration)

Context menu extension (SKE):

The most important functions connection and disconnection can be optionally called from the workplace and file-explorer directly without having to launch XSubst itself. To set up a “subst”-ed or a network drive, a right click on a directory and the choice of "XSubst connect disk drive” will suffice. This calls up a list of the available disk drive letters. If the context menu of a disk drive is called from the workplace, it will show the entry "XSubst disconnect disk drive”. This function allows for the disconnection, provided that the drive is a valid “subst”-ed or network drive. This extension must be additionally activated in the configuration. The extension sticks to the rules which can be defined in the configuration under "user disk drives/context menu extension".

By the way, on connecting via the SKE a check is performed whether the specified path is valid. This check is performed for local paths as well as network paths. If the list of the available disk drive letters is shown, the path is valid; otherwise the list will not appear at all. This check is mandatory because it is possible to pass nonsense data to the extension. Therefore, if this test would not be performed, a disk drive could be mounted by XSubst, and "irritate" Windows. ;) Therefore, it is not possible to set up network drives on released changeable data carriers in which no media are inserted yet, e.g. on a released CD-ROM in which no CD is inserted.

Tip: The SKE can be used to integrate the basic functions of XSubst into other applications, e.g. in a file manager of a third manufacturer provided that it has an interface for external programs. (See attachment / integration in other programs)

Hint: If a “subst”-ed disk drive is removed under Win98 / WinME via the Explorer, the Explorer’s the display may not be updated correctly. In this case <F5> helps to update the screen.

Other functions:

STRG+D:
Shows debug-infos. These can supply important information in case of problems. It is normally not required.

STRG+P:
Changes between 3 different displays of the type of path. The last display type is saved.

1) For “subst”-ed and network drives their normal paths are displayed. (Standard)
2) For active disk drives which are neither “subst”-ed nor network drives, the device names / paths of Windows NT are displayed.
3) For all active disk drives the device names / paths of Windows NT are displayed.

Please mind: this presupposes Windows with NT-kernel (or high). Under Win98 / WinME this function is deactivated.


Konfiguration

 Configuration:

All updates in the configuration dialog are taken over immediately. As a matter of principle user's settings and global settings are distinguished.

Tab User settings

These settings are administered specifically for each user, i.e. they apply individually to any Windows user profile.

General

Allow resizing of column and window width:
Activating this switch allows the main window to be customised in the width as well as the positions of the columns to be changed. Furthermore, in this mode the column width of each column is saved permanently.

Show grid lines:
If active a grid is shown in the disk drive list. If one prefers the "classic" look of earlier versions of XSubst, this setting can be also switched off.

Minimize to systray:
If XSubst should minimise into the systray (the area in the task bar beside the clock), this switch has to be activated. With a left click on the systray icon XSubst can be restored. A right click starts a little context sensitive menu with the necessary functions. In combination with one of the two following options XSubst is minimised on Windows restart directly to the systray.

Stay opened, if autostarted with windows:
Generally XSubst is loaded only with Windows if there is at least one Subst disk drive to be set up. Afterwards XSubst is quit immediately. If this switch is set, however, and XSubst is loaded at the next restart of Windows because there is a disk drive to set up, XSubst remains loaded.

Allways autostart at Windows startup:
If this switch is activated, XSubst is loaded anyway no matter whether there are disk drives to be set up or not. XSubst is also activated automatically, i.e. it remains loaded if started with Windows.

Hint: This as well as the previous switch does not serve for permanently setting up Subst disk drives on Windows start, this is done by XSubst automatically. These two switches regulate merely the behaviour of XSubst after the Windows start.

Remember last window position:
XSubst always starts centred on the screen referring to the entire display. If this switch is active, the last position is saved and the program positioned at this position the next time. This is helpful for e.g. multi monitor operation.

Show hints:
With some functions tips are displayed offering more information or indicate possible problems. If a hint is deactivated, it will not be displayed any more. This switch deactivates either all tips or reactivates their display. If the switch is in an intermediate state (grayed), there are activated as well as deactivated hints. These hints are not the usual "Did you know ... "-hints, but contain important information.

Sprache/Language/Langue/Lengua/Lingua

Here one of the available language packs can be selected. This is automatically copied into the directory of XSubst and is renamed to xsubstlanguage.ini. After the restart of XSubst the new language is available.

Tab User drives

These settings are administered specifically for each user, i.e. applying individually to every Windows user profile.

XSubst GUI

These settings refer only to disk drives which are set up by means of the surface program (GUI) of XSubst.

Warn when disconnecting drives:
If activated, warning hints will be displayed and will have to be confirmed. These are shown always if the selected disk drive has to be separated briefly or permanently during an operation. This is meant to prevent data loss. Therefore, it is advisable to keep this switch activated if one is not yet familiar with XSubst. Who exactly knows how XSubst acts, may deactivate this switch. In that case, i.e. as an alternative to the hints, the corresponding buttons are marked with a red background colour according to situation. This serves as an indicator for the fact that on pushing the respective button a separation will be initiated. It is, so to speak, the expert's mode.

Subst drives

Autocreate Subst-drives permanently:
This lets XSubst mount Subst disk drives as permanent Subst drives, i.e. they are automatically mounted on the start of Windows.

Autocreate a link on the desktop:
This function lets XSubst put a shortcut automatically onto the desktop for this disk drive. In the comment of the shortcut the path of the disk drive is entered which appears as a tool tip under W2K and XP. Because this automatism only makes sense when handling permanent disk drives, it is connected to the option mount disk drives automatically permanently.

Network drives

Autocreate Network-drives permanently:
Identical function as described under "Subst drives".

Autocreate a link on the desktop:
Identical function as described under "Subst drives".

Context menu extension

These settings refer only to the disk drives which are set up using the shell context extension (SCE) of XSubst. This applies to the integration in the Windows Explorer as well as to file managers like the Total Commander.

Warn when disconnecting drives:
In principle here applies the same as described under "XSubst GUI", however, only for disk drives separated via the SCE.

Subst drives

Identical function as described under "XSubst-surface/Subst drives" described.

Network drives

Identical function as described under "XSubst-surface/Subst drives" described.

Tab Global

These settings are administered globally, i.e. they do not depend on the respective Windows user profile.

Context menu extension

Register Context Menu extension:
If this switch is set, the standard functions {Connect} / {Disconnect} are integrated directly in´to the context-sensitive menu of workplace and Windows explorer. This allows a Subst disk drive to be easily put on a directory and also to be removed later. For this functionality different keys and values must be entered into the Registry; more about this in the appendix/technical details/ saving of the configuration. If the shell extension is not desired any more, simply clear the checkbox.

Hint: Under Win2K / WinXP administrator's rights are required for the setup of the extension.


Autor und Homepage

 Author and Homepage:

Author:
Luke Filewalker
EMail: LukeFilewalker@gmx.net
Forum: forums.gateway-to-hell.com

Download:

Main page:
 www.gateway-to-hell.com

Online help translations:
English (most important chapters): DBH64

Language Packs:
English: Icfu (icfu@gmx.de)
Francais: Fonetix (fonetic@freenet.de)
German: Luke Filewalker


Credits

 Credits:

Thanks to all betatesters and users for suggestions/bug reports:

Special greetings to gresti :-)


FAQ

 <no translation at this time>
FAQ:

Frage(1): Beim Starten von XSubst bekomme ich diese Fehlermeldung: "run-time error '339': MSCOMCTL.OCX missing"
Antwort: XSubst verwendet die ListView-Komponente dieser ActiveX Control DLL. Fehlt sie oder ist nicht registriert, erscheint diese Fehlermeldung. Man kann die Datei entweder manuell in das Verzeichnis \windows\system32 (bzw. \windows\system unter 9x) kopieren und mit regsvr32 registrieren, oder aber man überlässt diese Arbeit meinem MSCOMCTLOCXupdater der von GTH heruntergeladen werden kann. Einfach starten, der Rest ist selbsterklärend.

Frage(2): Wenn ich versuche die Spalten anders anzuordnen, verabschiedet sich XSubst einfach so, ohne eine Fehlermeldung anzuzeigen.
Antwort: Dieser CTD (Crash To Desktop) wird nicht durch XSubst erzeugt, sondern durch einen Bug im Drag&Drop der MSCOMCTL.OCX von Microsoft. In diesem Fall sollte mein MSCOMCTLOCXupdater verwendet werden, um diese Bibliothek zu aktualisieren. Ab der Version 6.1.97.86 wurde dieser Bug behoben und nach dem Update sollte das Drag&Drop der Spalten einwandfrei funktionieren.


Technisches

 <no translation at this time>
Technisches:

Windows Kompatibilität:
Es muss mindestens Windows 98 installiert sein, Windows 95 wird nicht unterstützt! Getestet wurde XSubst mit Windows 98, Windows 2000 und XP Pro. Zu anderen Windows-Varianten kann ich keine Angaben machen, da ich XSubst nur auf den genannten Betriebssystemen testen kann.

Nachtrag: XSubst ist definitiv nicht kompatibel zu Windows 95, da hier offenbar keine APIs zur Verwaltung von Subst-Laufwerken existieren.

 Technische Voraussetzungen:
Neben den VisualBasic-Runtimes (frei erhältlich) wird noch die ActiveX Control DLL mscomctlocx.ocx benötigt (frei erhältlich). Diese kann auch sehr einfach mit meinem MSCOMCTLOCXupdater nachinstalliert, bzw. zum updaten einer alten Version verwendet werden.

Installation:
Seit V1.0.63 wird XSubst mit Installer ausgeliefert, trotzdem ist nach wie vor keine Installation nötig. Der Installer hilft lediglich dabei die Dinge zu automatisieren, die man sonst manuell tun müsste. Also Ordner anlegen, Verknüpfungen erstellen usw. Im übrigen kann man XSubst wie bisher auch einfach nur entpacken und alles weitere selbst einrichten. Dazu müssen im Installer alle optionalen Punkte abgewählt werden, dann werden lediglich die Haupkomponenten in ein wählbares Verzeichnis entpackt ohne weitere Änderungen am System.

Um die volle Funktionalität von XSubst zu gewährleisten, muss xsubst.exe auf einer lokalen Festplatte (kein USB-Wechseldatenträger!) installiert sein, damit Windows beim Neustart darauf zugreifen kann.

Installation auf USB-Stick:
Prinzipiell kann XSubst auch von USB-Stick gestartet werden. Hierbei ist jedoch folgendes zu beachten:
  • Die Option {Permanent}/{Temporär} bei Subst-Laufwerken kann nicht geändert werden.
  • Es kann nichts am Startverhalten von XSubst bez. Windows-Neustart geändert werden.
  • Wird bei einem permanenten Subst-Laufwerk der Pfad geändert, wird es auf Temporär gesetzt.
  • Die Shell Kontext Erweiterung kann weder aktiviert noch deaktiviert werden.
  • Einige Optionen in der Konfiguration sind nicht verfügbar.
Hinweis: Bei Verwendung von USB Stick sollte die zentrale Verwaltung der INI aktiviert werden! Siehe Anhang/Tweaks.

Folgende Dateien sind das Minimum um XSubst von USB-Stick verwenden zu können:
xsubst.exe (Hauptkomponente)
xsubst.ini

Optional:
xsubstshell.exe (wird nur unter 98/ME für Integration z.B. in TC benötigt, gehört zur SKE)
mxscomctl.ocx (wenn vorhanden, muss diese Datei nicht lokal auf dem PC installiert sein)
helpfiles\ (Ordner enthält die Online HTML Hilfedateien)
languages\ (Ordner enthält die Sprachdateien)

Speicherung der Konfiguration:
Alle Daten werden in einer Textdatei (xsubst.ini) gespeichert.

Der Pfad zur INI lautet, falls persönliche Verwaltung (Standard) aktiv ist:
%userprofile%\anwendungsdaten\luke filewalker productions\xsubst

Der Pfad zur INI lautet, falls zentrale Verwaltung (Siehe Tweaks) aktiv ist:
<xsubst ordner>\xsubst.ini
Ist die Shell Kontext Erweiterung aktiv, sind ausserdem in folgenden Registry-Pfaden Informationen gespeichert:

 HKEY_LOCAL_MACHINE\Software\Luke Filewalker Productions\XSubst
HKEY_CLASSES_ROOT\Directory\shell
 HKEY_CLASSES_ROOT\drive\shell

Hinweis: Viele Einstellungen von XSubst in der Registry sind von anderen abhängig und man sollte manuelles Eingreifen in die Konfiguration mittels Regedit vermeiden! Tweaks sind die einzige Ausnahme. Das gleiche gilt natürlich auch für die INI. Manuelle Änderungen sollte man nur dann vornehmen, wenn man genau weiss, wie alle Einstellungen zusammenhängen.

Papierkorb und Subst-Laufwerke:
Mir fiel ein merkwürdiges Verhalten des Papierkorbs auf. Dies betrifft Subst-Laufwerke im allgemeinen und hat nicht direkt etwas mit solchen Tools wie XSubst zu tun.

Hier meine Beobachtungen:
  • 1) Egal welches Windows, prinzipiell ist das Handling mit dem Papierkorb dann kein Problem, wenn das Subst-Laufwerk nicht auf das Root (Stammverzeichnis) eines anderen Laufwerkes zeigt. Abgesehen davon macht es eh nicht wirklich Sinn, ein Subst auf das Root eines anderen Laufwerkes zu setzen, da man Substs ja vorrangig einsetzt, um sich die Navigation durch zig Unterverzeichnise zu sparen.
Wenn aber das Subst-Laufwerk auf ein Root gemounted wird, ergeben sich hierdurch einige Probleme bzw. Einschränkungen:
  • 2) Win98 ignoriert in diesem Fall bei zu löschenden Dateien die Einstellung "In den Papierkorb löschen" und löscht direkt! Dies trifft auf das Subst-Laufwerk zu, das "echte" verhält sich wie gewohnt.
  • 3) WinXP und Win2K löschen zwar in den Papierkorb wenn man im Subst-Laufwerk Dateien löscht, diese Dateien sind dann aber nicht über den Papierkorb wiederherstellbar, sondern nur direkt im recycler Verzeichnis. Den ursprünglichen Dateinamen muss man allerdings selbst wieder vergeben, da gelöschte Dateien prinzipiell umbenannt werden.
  • 4) Unter WinXP/Win2K kommt hinzu, dass Punkt 3 auch für Dateien zutrifft, die im "echten" Laufwerk gelöscht werden, solange darauf ein Subst gemounted ist.
Fazit: Windows scheint schlicht nicht dafür ausgelegt zu sein, in dem gleichen recycler Verzeichnis mehrere unterschiedliche Laufwerke zu verwalten. Momentan kann ich also nur abraten, Subst-Laufwerke auf das Root eines anderen Laufwerkes zu setzen. Es sei denn man benötigt den Papierkorb prinzipiell nicht, dann kann dieser Punkt komplett ignoriert werden.

Shell Kontext Erweiterung:
Für Win98/WinME muss das Zusatzmodul xsubstshell.exe im Verzeichnis von XSubst vorhanden sein, dies wird beim Installer immer mit installiert. Unter Win2K/WinXP wird es übrigens nicht benötigt und könnte auch gelöscht werden.

Programmiersprache:
XSubst wurde mit VisualBasic 6 SP6 entwickelt.

Konzept:
XSubst verwendet Techniken, die mit den Bordmitteln von VisualBasic entweder gar nicht oder nur extrem umständlich realisiert werden können. Diese wären:
  • Ermittlung aller vorhandenen Laufwerke und deren Typ sowie Status
  • Konvertierung von langen zu kurzen Dateipfaden und umgekehrt
  • Ermittlung von UNC-Pfaden
  • Subst-Laufwerke anlegen und löschen
  • Spaltenbreite der ListView-Komponente codegesteuert ändern
  • Systemrequester für Ordner-Auswahl inklusive Netzwerkumgebung
  • Ermittlung der Windows Variante sowie Zusatzinfos (Servicepack Stand)
  • Netz-Laufwerke anlegen, löschen, Status ermitteln
  • Verknüpfungen für Laufwerke erzeugen
  • Icon mit Menü im Systray
  • Eintrag in der Taskleiste während der Laufzeit an/ausschalten
  • Codegesteuertes ansprechen des HTML-Help Systems
  • Registry-Behandlung
  • Ermitteln des Windowsusers
  • Ermitteln ob Adminrechte vorhanden sind
  • URL im Browser öffnen
  • Grenzen eines Fensters auf lowlevel-Ebene fixieren.
  • Desktoppfad ermitteln
  • Komplette INI Handhabung
Diese speziellen Techniken wurden über direkte Programmierung der Windows-API gelöst. Auf diese Weise nutze ich sozusagen die Bordmittel von Windows, ohne mit irgendwelchen zusätzlichen externen Komponenten arbeiten zu müssen.

Installer:
Für meine Tools verwende ich NSIS (Nullsoft Scriptable Install System). Das ist eine sehr professionelle und komplexe Installer-Skriptsprache. Es gibt nichts was man damit nicht lösen könnte, erfordert allerdings auch einige Einarbeitung. Was NSIS selbst nicht bietet, wird durch die grosse und durchweg sehr erfahrene Community durch Plugins beigesteuert.


Tweaks

 <no translation at this time>
Tweaks:

Tweaks (am besten mit Kniffe übersetzt) sind Eingriffe in das Verhalten/Konfiguration des Tools. Tweaks sind hier entweder experimenteller Natur, oder aber es handelt sich um Funktionen/Änderungen die nur selten benötigt werden. Darum sind diese nur direkt in der INI oder Registry einstellbar. Prinzipiell werden die Tweaks auf gültige Parameter geprüft. Man kann also nichts eintragen, was völliger Blödsinn wäre. ;)

Tweaks in der zentralen Konfigurationsdatei:
Speicherort: <xsubst ordner>\xsubst.ini

[GLOBAL]
DONTUSEPERSONALINI=0/1 (Standard:0)
Normalerweise werden alle Daten in einer persönlichen Konfigurationsdatei gespeichert. Wird dieser Schalter in der Sektion [GLOBAL] gesetzt, wird nur noch die zentrale INI im XSubst Ordner verwendet. Das ist z.B. dann sinnvoll, wenn XSubst von USB Stick verwendet werden soll. Wenn dieser Tweak aktiv ist, muss natürlich auch gewährleistet sein, dass alle Benutzer Schreibrechte im XSubst Ordner haben. Ansonsten können Konfiguration sowie Laufwerke natürlich nicht gespeichert werden.

DONTUSEPERSONALPROFILE=0/1 (Standard:0)
Per Standard werden die Daten in einer persönlichen Sektion der Konfigurationsdatei gespeichert. Ist dieser Schalter aktiv, werden alle Daten direkt in der globalen Sektion [GLOBAL] verwaltet. Das ist z.B. dann interessant, wenn XSubst von USB Stick verwendet werden soll. Denn in diesem Fall wäre die Benutzerverwaltung eher kontraproduktiv.

Tweaks in der persönlichen Konfigurationsdatei:
Speicherort: %userprofile%\anwendungsdaten\luke filewalker productions\xsubst\xsubst.ini

Zur Zeit keine Tweaks


Integration

 <no translation at this time>
Integration in andere Programme:

Durch die Befehle der Shell Kontext Erweiterung (SKE) ist es möglich die Grundfunktionen von XSubst in andere Programme, z.B. Datei Manager, zu integrieren.

Folgende Befehle gibt es:
/SET="<pfad>" (Laufwerk anlegen)
/CUT="<pfad>" (Laufwerk trennen)

Die Pfade können übrigens im Shortpath Format (z.B. C:\DOKUME~1) oder auch im Longpath Format (z.B. C:\Dokumente und Einstellungen) übergeben werden. XSubst verwaltet intern sowieso beide Formate. Und natürlich können ebenfalls UNC Pfade übergeben werden (z.B. \\server1\projekte) um Netz-Laufwerke zu behandeln, ebenfalls im Shortpath oder Longpath Format. Auch ist es unerheblich, ob Pfade einen abschliessenden Backslash enthalten (z.B. C:\Programme\), dieser wird automatisch entfernt. Anführungszeichen können verwendet oder weggelassen werden, diese werden sowieso komplett entfernt.

Total Commander

Hier gibt es gleich mehrere Methoden der Integration:
  • Als Buttons in der Buttonbar
  • Als Menüpunkte im Startermenü
  • Als benutzerdefinierte Befehle (erst ab TC 7 möglich)
Hier wird nur anhand des Startermenüs erklärt wie XSubst integriert werden kann, dies gilt stellvertretend für die anderen Möglichkeiten. In dieser Schritt-für-Schritt Anleitung wird davon ausgegangen, dass XSubst nach C:\Programme\XSubst\ installiert wurde. Pfade müssen also eventuell angepasst werden.

Menü erstellen
Schritt 1: Hauptmenü/Starter/Startermenü ändern... aufrufen
Schritt 2: Untermenü... klicken
Schritt 3: Titel "XSubst" eingeben und bestätigen
Schritt 4: Hinzufügen... klicken (Auswahl muss noch auf "-XSubst" stehen)
Schritt 5: Titel "Laufwerk verbinden..." eingeben und bestätigen
Schritt 6: Hinzufügen... klicken
Schritt 7: Titel "Laufwerk trennen" eingeben und bestätigen

Parameter festlegen
Schritt 8: Bei "Laufwerk verbinden..." folgendes eintragen:
Kommando: C:\Programme\XSubst\XSubst.exe
Parameter: /set="%P%N"
Startpfad: (bleibt leer)
Tastenkürzel: (nach Wunsch festlegen)

Schritt 9: Bei "Laufwerk trennen" folgendes eintragen:
Kommando: C:\Programme\XSubst\XSubst.exe
Parameter: /cut="%P"
Startpfad: (bleibt leer)
Tastenkürzel: (nach Wunsch festlegen)

Hinweis: Unter Win98/WinME muss bei der Funktion "Laufwerk trennen" anstelle xsubst.exe unbedingt xsubstshell.exe eingetragen werden!

Bedienung:
Besonders komfortabel und schnell ist die Bedienung, wenn für beide Funktionen Shortcuts festgelegt wurden. Dann muss noch nicht mal mehr ein Button geklickt oder ein Menüpunkt aufgerufen werden.

Verbinden: Soll auf ein lokales Verzeichnis ein Substlaufwerk oder auf eine Netzwerkfreigabe eine Netz-Laufwerk angelegt werden, muss dieses Verzeichnis oder die Freigabe im TC Fenster ausgewählt sein. Es gilt also hier das Verzeichnis unter dem TC Cursor. Es kann auch eine Datei ausgewählt sein, in diesem Fall wird das Verzeichnis genommen, in dem die Datei steht. Wird nun die Funktion für Verbinden aufgerufen, erscheint ein Kontextmenü in dem mit Maus, Cursortasten+<Enter> oder Buchstabe das gewünschte Laufwerk ausgewählt werden kann. Nachdem dieses ausgewählt wurde, ist das Laufwerk auch bereits vorhanden und aktiv.

Trennen: Um ein Laufwerk wieder zu trennen, muss im Verzeichnisfenster von TC dieses Laufwerk auch gerade angezeigt werden. Hierbei ist es jedoch völlig egal, an welcher Stelle des Verzeichnisbaumes sich das aktuelle Verzeichnisfenster befindet. Nach einer Sicherheitsabfrage (falls aktiviert) wird das Laufwerk wieder dauerhaft entfernt.

Weitere Infos bezüglich TC:
Mit %P übergibt TC den aktuellen Pfad des Quell Verzeichnisses im Longpath Format an XSubst. Mit %p wird übrigens das Shortpath Format verwendet. Mit %N wird der ausgewählte Dateiname (oder Verzeichnisname) im Lonpath Format übergeben und entsprechend mit %n im Shortpath Format.

1. Anpassung für TC: Durch eine spezielle Anpassung an TC ist das Konstrukt %P%N überhaupt erst möglich, d.h. damit kann dann entweder direkt ein Verzeichnis ausgewählt sein, oder eine Datei. Ist eine Datei ausgewählt, ermittelt XSubst automatisch das Verzeichnis in der diese Datei steht.

2. Anpassung für TC: Eine weitere Funktion speziell für TC bezieht sich auf die Übergabe von Netzwerk-Freigaben. Wenn über die Netzwerkumgebung von TC z.B. die Freigabe "\\Peters Supercomputer\C (peter1)" ausgewählt wird, löst TC dies nicht auf und XSubst würde sich weigern, ein Laufwerk darauf einzurichten. Die korrekte Übergabe an XSubst müsste in diesem Beispiel nämlich wie folgt lauten: "\\peter1\c", also mit dem tatsächlichen Computernamen anstatt dem zusammengesetzten Text (Beschreibung)+(Computername). XSubst löst dieses Konstrukt aber ebenfalls auf und erzeugt automatisch einen gültigen UNC Pfad.

XSubst konvertiert also immer so, dass auf jeden Fall ein gültiges und existierendes Verzeichnis ermittelt wird. Ist dies schlussendlich nicht möglich, führt XSubst auch keine Aktion durch.


Hintergrund

 <no translation at this time>
Hintergrund dieses Tools:

Ich suchte ein Tool mit dem ich unter allen Windows-Varianten mit nur einem Tool solche Subst-Laufwerke auf die gleiche Weise einrichten konnte. Jedoch alles was ich fand, entsprach nicht meinen Vorstellungen. Entweder es fehlte die Übersicht und/oder es war zu umständlich in der Bedienung.

Darum ist dieses Tool entstanden, dass gegenüber anderen Tools dieses Typs folgende für mich wichtige Vorteile bietet:
  • Die Handhabung ist unter allen Windows-Versionen gleich.
  • Es zeigt übersichtlich alle Laufwerke auf einmal an.
  • Zusätzlich zeigt es Infos an, um welchen Typ es sich bei dem Laufwerk handelt und mit welchem Pfad es verbunden ist.
  • Bereits substituierte Laufwerke können einfach auf ein anderes Verzeichnis geändert werden, ohne dass das betreffende Laufwerk zuerst getrennt und dann wieder mit dem neuen Pfad verbunden werden muss. Dies geschieht in einem Arbeitsgang.
  • Laufwerke können entweder temporär oder permanent angelegt werden.
  • Subst-Laufwerke werden dem Benutzerprofil zugeordnet.
  • Wird nur dann mit Windows gestartet, wenn mindestens ein permanentes Subst-Laufwerk vorhanden ist.
  • Im Gegensatz zu allen anderen Subst-Alternativen die ich kenne, konzentriert sich XSubst nicht alleine auf Subst-Laufwerke, sondern eher auf die Übersicht aller Windows eigenen Laufwerke, ob "real" oder "virtuell". Bereits das Ur-XSubst wurde nach diesem Konzept entwickelt.


2.2.14 11.4.2007
----------------
* Bugfix: Bei deaktivierten Warn-Hinweisen und einem inaktiven Netz-Laufwerk
  wurde fälschlicherweise der Button Temporär/Permanent rot unterlegt. (War mehr
  ein optisches Problem als ein Bug.)
* Die Funktion {Permanent deaktivieren} wird bei Subst-Laufwerke jetzt
  gesperrt, wenn XSubst nicht lokal installiert wurde. Diesen Punkt habe ich
  bisher schlicht übersehen in der Routine für "Abhängigkeitslogik" die dafür
  sorgt, dass keine unsinnigen Aktionen durchgeführt werden können.
* Die Funktionen {Permanent deaktivieren} und {Aktivieren} stehen nun auch für
  Netz-Laufwerke zur Verfügung. Weiterhin kann nun auch der Pfad eines
  deaktivierten Netz-Laufwerkes geändert werden. Damit stehen nun fast alle
  Funktionen für beide Laufwerkstypen gleichermassen zur Verfügung, lediglich
  {temporär deaktivieren} bleibt den Subst-Laufwerken vorbehalten.
* LED eines überlagerten Laufwerks von Orange auf Dunkelblau geändert. Das ist
  ein Stück weit logischer da es sich in diesem Fall primär um ein "System-
  Laufwerk" handelt und System-Laufwerke haben ja sonst die Farbe Aqua
  (Hellblau).
* Weitere Debuginfos hizugefügt.

2.2.1 3.4.2007
--------------
* Bugfix: Unter bisher nicht geklärten Umständen kann es unter Win 98 zu einem
  optischen Problem bei der Anzeige der Laufwerksliste kommen. Dies hängt in
  irgendeiner Form mit der codetechnischen Ansteuerung der Schrift und der
  Schriftgrösse zusammen. Diese Ansteuerung wieder entfernt, da sie nicht
  zwingend notwendig ist. Bekannt ist mir das "Phänomen" jedoch nur von einem
  Benutzer. ("Ted West Bug", greetings to Phoenix/Arizona. ;-))
* Onlinehelp English hinzugefügt mit Übersetzung der wichtigsten Kapitel.
  (Übersetzer: DBH64)
* Installer auf NSIS 2.25 aktualisiert.

2.2 25.3.2007
-------------
* RELEASE
* BETA Bugfix: Bei nicht vorhandener INI wurden auch keine Standardwerte
  gesetzt, war natürlich total sinnfrei.
* Languagepacks werden nicht mehr umständlich von XSubst kopiert, sondern
  direkt aus dem Ordner "languages" gelesen. Die Datei xsubst.lng bzw.
  xsubstlanguage.ini im XSubst Ordner ist somit hinfällig.
* Das gleiche gilt für die Online HTML Hilfedateien, diese werden jetzt direkt
  aus dem Ordner "helpfiles" gelesen.
* Weiterhin wird beim Umschalten der Sprache das Languagepack sofort geladen.
  Ein Neustart von XSubst ist nicht mehr notwendig. Gleiches gilt für das
  Helpfile.
* Die eingestellte Sprache wird jetzt Benutzerabhängig gespeichert.
* Ist beim Start keine INI vorhanden, wird automatisch die Konfiguration
  aufgerufen mit dem Karteireiter der Sprachwahl. Dies ist primär für die Zip-
  Variante gedacht um auch damit schnell und direkt eine Sprache auswählen zu
  können. Das ist ein Kompromiss der auf einem Vorschlag von Christian Ghisler
  beruht.
* In Bezug auf echte Multiuser Umgebungen und in Vorbereitung auf Vista wurde
  jetzt die Verwaltung konsequent auf persönliche INI's umgestellt. Statt einer
  zentralen INI hat also nun jeder User seine eigene die unter
  %userprofile%\anwendungsdaten\luke filewalker productions\xsubst zu finden
  ist. Die Verwaltung funktioniert genauso unter 9x, sofern die
  Benutzerverwaltung dort aktiviert wurde. Bei PC's mit nur einem Benutzer bzw.
  wenn es nur Adminuser gibt, kann optional auf zentrale INI wie bisher
  umgestellt werden. (Siehe Onlinehilfe:Anhang/Tweaks)
* 2 neue Tweaks für die INI Verwaltung.
* Debugfenster kann jetzt beliebig in der Grösse verändert werden. Zusätzliche
  Infos wie z.B. die primäre interne Laufwerks-Tabelle.
* Installer auf NSIS 2.24 aktualisiert.
* Sowohl Installer wie auch xsubst.exe prüfen direkt beim Start die Windows
  Variante. Im Fall von Windows 95 werden beide Programme sofort beendet.
* Languagepack Francais hinzugefügt. (Übersetzer: Fonetix)

2.1.32 BETA 2.2 20.3.2007
-------------------------
* Bugfix: Bei INI-Verwaltung konnte es vorkommen, dass XSubst nicht automatisch
  mit Windows gestartet wurde, obwohl ein permanentes Laufwerk vorhanden war. In
  der INI Routine fehlte schlicht ein Registry-Befehl. Dieser Bug dürfte jedoch
  nur bei ganz frischen Windows-Installationen auftauchen, bei denen der
  entsprechende Registry-Pfad (Run) noch fehlt.
* Über die LED's kann nun auch der besondere Zustand eines überlagerten Subst-
  Laufwerkes signalisiert werden. Also ein deaktiviertes Subst-Laufwerk dessen
  Laufwerksbuchstabe gerade von einem Wechseldatenträger verwendet wird.
* In der Konfiguration/Sprachauswahl wird die aktuell eingestellte Sprache
  angezeigt, sofern diese auch als Languagepack existiert. (Vorschlag: Fonetix)
* Meine neue INI-Library eingebaut die mit der Standard INI-API arbeitet. Diese
  ersetzt meine bisherigen INI-Routinen. Dadurch ergeben sich mehrere
  Verbesserungen/Änderungen:
  1) Die Handhabung der INI-Dateien ist codetechnisch nun deutlich einfacher,
  gerade wenn eine INI aus mehreren Sektionen besteht wie bei XSubst. Die
  Endmarkierungen [USER.END] sind jetzt übrigens überflüssig und könnten aus der
  INI gelöscht werden.
  2) Durch meine neue Library sind INI- Dateien zukünftig nicht mehr nur
  abwärts- sondern prinzipiell auch aufwärts- kompatibel.
  3) Manuelle Änderungen können nun bedeutend robuster und transparenter
  gehandhabt werden. So ist es jetzt z.B. problemlos möglich eigene Kommentare
  einzubauen (mit führendem ; ) die auch erhalten bleiben.
  4) Ich muss mich nicht mehr selbst um die Zugriffsberechtigungen (Thema Timing
  Problem) der INI kümmern, das erledigt die API schon selbst.
  5) Nachteile sind jedoch das ich keinen direkten Einflus mehr auf die
  Reihenfolge der Einträge habe und das die Library messbar langsamer ist als
  meine direkte Routine.
* Aufgrund der nun erheblich komfortableren INI Handhabung habe ich mich dazu
  entschlossen die Registry-Unterstützung komplett über Board zu werfen.
  Sämtliche Routinen für die Datenspeicherung in der Registry wurden entfernt.
  Damit ist XSubst wieder ein reines INI Tool und nur noch die technisch
  absolut unvermeidbaren Registry Zugriffe sind übrig geblieben.
* Weitere Code Optimierungen.

2.1.13 BETA 2.2 13.3.2007
-------------------------
* Bugfix: In der Konfig konnte es bez. der Sprachauswahl zu einem error 52
  kommen, ist mir jedoch nur von einem Benutzer bekannt. (Hinweis: Fonetix)
* Es werden nun auch die virtuellen Netz-Laufwerke (MS folder sharings) in
  VPC erkannt, ab Gastbetriebssystem Win98. Bei diesen Laufwerken werden dann
  sämtliche Funktionen ausser Verknüpfungen gesperrt und Laufwerk/Ordner der
  Freigabe angezeigt. Getestet mit VPC 2004 & 2007.
* Multilanguage Support für Onlinehilfe. Wenn es zu einer Sprache neben dem
  Languagepack auch eine entsprechende Übersetzung der Onlinehilfe gibt, wird
  diese berücksichtigt.
* In der Spalte Pfad wird jetzt in Klammern der aktuelle Pfad-Typ (2 oder 3)
  angezeigt, wenn dieser von der Normalanzeige 1 abweicht.
* Languagepacks haben jetzt die Suffix .lng und im XSubst Ordner heisst das
  Languagepack einfach xsubst.lng
* Kleinere Code Optimierungen.
* Eine optional einblendbare LED-Leiste zeigt an, in welchem Zustand sich die
  von XSubst verwaltbaren Laufwerke befinden. Die LED's stammen von twiki.org.
  (Mit freundlicher Genehmigung von Arthur Clemens und Peter Thoeny)

2.1.5 20.12.2006
----------------
* Genauso einfach wie der Pfad eines Subst- oder Netz-Laufwerkes geändert
  werden kann, ist es nun auch möglich das Laufwerk zu ändern. Mit Drag&Drop in
  der Laufwerksliste lässt sich ein Pfad auf einen anderes, freies Laufwerk
  "verschieben".
* Mit Strg+P lassen sich jetzt anstelle der normalen Pfade auch die Windows
  internen Gerätenamen und Pfade anzeigen. Entweder für alle ausser Subst- und
  Netz-Laufwerke oder für alle. Im Prinzip nicht wirklich wichtig, zeigt einfach
  nur wie Windows selbst die Laufwerke intern verwaltet. Nur für Windows
  Varianten mit NT Kernel.
* In der Statusbar wird jetzt auch immer aktuell angezeigt, ob der volle
  Funktionsumfang gegeben ist. Hierfür 3 neue Sprachvariablen angelegt.

2.1 5.12.2006
-------------
* RELEASE
* SKE: Konvertierung des Konstrukts (Beschreibung)+(Computername) robuster
  gestaltet.
* Sprachvariable author_version hinzugefügt, damit der Autor des jeweiligen
  Languagepacks kennzeichnen kann, für welche XSubst Version es geschrieben
  wurde.

2.0.26 BETA 2.1 4.12.2006
-------------------------
* SKE: Bei Netzwerk-Freigaben die von TC übergeben werden, wird jetzt das
  Konstrukt (Beschreibung)+(Computername) in einen gültigen UNC Pfad gewandelt.
* SKE: Sind keine verfügbaren Laufwerksbuchstaben mehr frei, wird dies nun auch
  gemeldet.
* Die Einstellung "Warnhinweise bei Trennungen" ist nun separat für GUI und SKE
  verfügbar.

2.0.14 BETA 2.1 2.12.2006
-------------------------
* SKE: Mehr ein Schönheitsfehler als ein Bug: Wurde über die SKE ein Netz-
  Laufwerk eingerichtet, übernahm er nur den Shortpath in die Laufwerksliste,
  ebenso in den Tooltip der Desktopverknüpfung. Auch hier wird jetzt konsequent
  der Longpath verwendet.
* SKE: Jetzt ist es auch möglich Netz-Laufwerke zu trennen.
* SKE: Für TC weiter überarbeitet. Jetzt kann z.B. auch der Aufruf /set="%P%N"
  verwendet werden, um das Verzeichnis unter dem Cursor mit einem Subst- oder
  Netz-Laufwerk zu verbinden. Damit muss nicht mehr ins Verzeichnis gewechselt
  werden vor dem verbinden. Wird mit dem Aufruf kein Verzeichnis sondern eine
  Datei übergeben, wird automatisch der Pfad dieser Datei ermittelt.

2.0.10 BETA 2.1 1.12.2006
-------------------------
* Bugfix: Wurde über SKE ein Netz-Laufwerk eingerichtet und die Option für
  automatische Desktopverknüpfung war aktiv, übernahm er nicht den Netzwerk-Pfad
  in den Tooltip, sondern nur den Laufwerksbuchstaben.
* SKE: Für externe Aufrufe, wie z.B. über Total Commander, überarbeitet und
  rudimentäre Kontroll- und Konvertier-Routinen eingebaut.
* SKE: Nun können auch problemlos Netz-Laufwerke über TC eingerichtet werden.
  Schuld war ein \ am Ende des von TC übergebenen Pfades.
* Subst- und Netz-Laufwerke können nun getrennt nach GUI und SKE konfiguriert
  werden.
* Konfiguration neu gruppiert und auf Registerkarten verteilt.
* Win Vista wird nun auch erkannt, dies ist aber z.Z. noch nicht wichtig.

2.0 2.11.2006
-------------
* RELEASE

1.6.102 BETA 2.0 RC2 30.10.2006
-------------------------------
* BETA Bugfix: Sprachvariable für listdriveunknown wurde nicht aufgelöst.
* Debug Fenster aus Menü genommen, dies kann jetzt mit Strg+D im Hauptfenster
  aufgerufen werden. So oft braucht man das (hoffentlich) nicht, dass sich ein
  eigener Menüpunkt dafür rechtfertigen würde.
* Weitere Debuginfos hinzugefügt.
* Echte Laufwerke haben in der Anzeige nun Priorität über Subst-Laufwerke: Wird
  auf den Laufwerksbuchstaben eines deaktivierten Subst-Laufwerkes z.B. ein
  Wechseldatenräger wie Platte oder USB-Stick angemeldet, wird dieser
  Datenträger nun auch entsprechend angezeigt und verwaltet. Das Subst-
  Laufwerk wird intern weiterhin verwaltet und steht wieder zur Verfügung,
  sobald der echte Datenträger abgemeldet wurde. Das ist ebenfalls eine Sache
  die ich schon lange einbauen wollte, mich aber bisher vor dem Aufwand gedrückt
  habe. ;)

1.6.99 BETA 2.0 RC2 28.10.2006
------------------------------
* BETA Bugfix: Error 70 Problem - Zugriff verweigert. Durch die neue INI
  Verwaltung konnte es u.U. vorkommen, dass zwei XSubst Prozesse gleichzeitig
  auf die INI zugreifen wollten. Dies konnte dann geschehen, wenn XSubst bereits
  gestartet war (aber nicht minimiert) und gleichzeitig über Shell Kontext ein
  Laufwerk eingerichtet oder gelöscht wurde.
* Beim Benutzernamen wird nicht mehr zwischen Gross/Kleinschreibung
  unterschieden. Wichtig für INI-Verwaltung.
* Sprachvariable für Shell Kontext Submenü "Verbinden" hinzugefügt.
* Bei den Shell Sprachvariablen den String "XSubst - " entfernt, da dieser von
  XSubst selbst vorgegeben werden muss.
* Für Shell Kontext zwei neue Registry Einträge eingebaut um dieses unabhängig
  vom Languagepack auch wieder sauber deaktivieren zu können. Das gleiche gilt
  beim Uninstaller

1.6.75 BETA 2.0 RC1 27.10.2006
------------------------------
* Es wird nun beim Start global überprüft ob XSubst bereits vorhanden ist, statt
  wie bisher die Prüfung nur auf das Verzeichnis zu beschränken, aus dem XSubst
  gestartet wurde. Weiterhin wird nun in diesem Fall der bereits laufende
  XSubst-Prozess in den Vordergrund geholt, anstatt eine Meldung anzuzeigen das
  XSubst bereits läuft.

1.6.69 BETA 2.0 RC1 26.10.2006
------------------------------
* BETA Bugfix: Durch eine falsche Priorität beim Umwandeln der Sprachvariablen
  wurde main_listdriveremoteinactive nicht korrekt aufgelöst.
* Die Routine zum Überprüfen auf Laufwerksänderungen sowie die Routine zur
  Aktualisierung der Liste werden jetzt nur noch aufgerufen, wenn XSubst nicht
  minimiert ist. Was man nicht sieht, braucht nicht aktualisiert zu werden und
  damit ist ein minimiertes XSubst wieder so genügsam was Rechnezeit angeht wie
  immer.

1.6.65 BETA 2.0 RC1 25.10.2006
------------------------------
* BETA Bugfix: Bei jeder Änderung in der Konfig wurde der Sprach-Auswahlbox der
  Eintrag <select language> hinzugefügt sowie alle vorhandenen Languagepacks.
  Dadurch wurde die Liste bei jeder Änderung immer länger.
* Per Option kann nun festgelegt werden, ob XSubst beim Start auf
  Bildschirmmitte zentriert wird, oder von der letzten Position startet.
  (Vorschlag: Icfu)

1.6.58 BETA 2.0 24.10.2006
--------------------------
* BETA Bugfix: Anzeigefehler bei Verwendung der Option "Fensterbreite änderbar"
  korrigiert.
* Alle Unterfenster (z.B. Konfig-Fenster, Hinweis usw.) können jetzt alternativ
  mit ESC geschlossen werden. (Vorschlag: Icfu)
* Die Meldung nach Sprachänderung kommt jetzt erst beim schliessen des Konfig-
  Fensters.

1.6.51 BETA 2.0 23.10.2006
--------------------------
* In der Konfiguration kann nun durch einfaches Auswählen das gewünschte
  Language Pack automatisch kopiert und umbenannt werden, so das dies vom
  Benutzer nicht mehr manuell gemacht werden muss.

1.6.47 BETA 2.0 23.10.2006
--------------------------
* Hinweise werden jetzt erst angezeigt, wenn das Laden von XSubst komplett
  beendet ist. (Vorschlag: Icfu)
* Hinweisfenster etwas grösser gestaltet. (Vorschlag: Icfu)
* Sprachvariablen config_chkperm und config_chkpermlink nach Subst und Netz
  getrennt um Tastatur-Shortcuts dafür definieren zu können.
* Refreshcode (für Button Aktualisieren) komplett entfernt.
* Sprachvariablen für Menü geändert. Dadurch kann nun auch dem Hilfe-Hauptmenü
  ein Name und damit auch ein Shortcut zugewiesen werden.
* Systray Option von "Im Systray einrichten, falls mit Windows gestartet" und
  "Prinzipiell mit Windows starten" abgekoppelt, kann also jetzt unabhängig
  eingestellt werden. Diese beiden Optionen heissen jetzt auch anders.
  (Vorschlag: Icfu)
* Languagepack English hinzugefügt. (Übersetzer: Icfu)

1.6.27 BETA 2.0 22.10.2006
--------------------------
* BETA Bugfix: Die Sprachvariablen für das Systray-Menü waren intern zwar
  deklariert, wurden aber nicht aus dem Language Pack gelesen.
* BETA Bugfix: Es fehlte noch die Sprachvariable für den Link-Kommentar.
* Button {Aktualisieren} entfernt. Dieser ist nicht länger notwendig, da nun
  ständig überprüft wird ob externe Änderungen bei den Laufwerken statt
  fanden.
* Viele kleine interne Optimierungen.

1.6.21 BETA 2.0 21.10.2006
--------------------------
* Bugfix: Wurde beim aktivieren eines deaktivierten Subst-Laufwerkes ein Fehler
  festgestellt, dann wurde zwar eine Fehlermeldung angezeigt, aber trotzdem das
  Laufwerk als aktiv eingetragen.
* Vor Aktivierung/Deaktivierung der Shell Kontext Erweiterung wird erstmal
  überprüft, ob der aktuelle Benutzer überhaupt Administratorrechte hat.
* Kompletten Source auf Multilanguage umgestellt. Über Sprachdateien kann XSubst
  nun in fast jede beliebige Sprache übersetzt werden, die auf dem lateinischen
  Alphabet aufgebaut ist.

1.6.08 BETA 2.0 18.10.2006
--------------------------
* Die Speicherung der Konfiguration/Daten erfolgt nun per Standard für alle
  Benutzerprofile in einer zentralen INI (XSUBST.INI) anstatt in der User-
  Registry. Über einen Tweak ist es denoch möglich stattdessen die Registry-
  Verwaltung zu verwenden.
* Neuer Tweak: REGISTRY. Steht dieses Wort alleine in der ersten Zeile der
  XSUBST.INI, wird statt der zentralen INI die User Registry zum verwalten der
  Konfiguration/Daten verwendet.
* Die Option "Deaktivierte Subst-Laufwerke bleiben permanent deaktiviert" wurde
  entfernt und stattdessen ein neuer Button dafür eingebaut. Der bisherige
  Button deaktiviert nun prinzipiell temporär und der neue Button prinzipiell
  permanent.
* Konfiguration neu strukturiert um Benutzerbezogene und globale Einstellungen
  zu trennen.
* Die neue Statusbar im Hauptfenster gibt nun Auskunft über den aktuellen
  Benutzer, ob Die Daten in der INI oder Registry verwaltet werden und ob XSubst
  beim Windowsstart geladen wird.
* Hilfemenü neu strukturiert. Infos und Debuginfos nun getrennt.

1.6 17.8.2006
--------------
* XSubst bietet nun eine optionale Shell Kontext Erweiterung. Damit können
  Subst-Laufwerke auch direkt über den Arbeitsplatz/Explorer verbunden und
  getrennt werden. Benötigt Adminrechte zur Aktivierung bzw. Deaktivierung.
* Hinweissystem eingebaut um bei manchen Funktionen wichtige Infos anzeigen zu
  können. Die Hinweise lassen sich jeweils einzeln deaktivieren.
* Der Requester bez. nicht-lokale-Installation wurde in die Hinweise
  aufgenommen. Damit hat der Tweak "dontshowlocalwarning" keine Bedeutung mehr
  und wurde entfernt.
* Befindet sich XSubst nicht auf einer lokalen Platte, werden jetzt
  konsequenterweise auch diejenigen Optionen in der Konfig gesperrt, die dann
  sowieso keine Auswirkungen hätten.
* Infofenster (?/Info) um Webseitenlink und Debuginfos erweitert. Die Debuginfos
  geben über einige wichtige Parameter Auskunft ohne REGEDIT bemühen zu müssen.
  Das ist nützlich bei Problemen.
* Ansonsten gab es etliche kleinere interne Verbesserungen.
* Änderungen am Installer: 1) Gesperrte Dateien, z.B. wenn sie bei der
  Installation noch geöffnet sind, können nicht mehr übersprungen werden. Das
  wäre auch sehr unsinnig. 2) Auch das Setup identifiziert sich nun über einen
  eigenen Versions-Tab wenn man die Eigenschaften der Datei anzeigen lässt.

1.5.10 25.6.2006
----------------
* Bugfix: In manchen Situationen blieb die Trennung eines Subst-Laufwerkes
  erfolglos.
* Bugfix: Gleicher Fehler konnte auch beim Deaktivieren auftreten.
* Neue Option: Bei deaktivierten Subst-Laufwerken kann nun festgelegt werden,
  ob diese permanent deaktiviert bleiben sollen.
* Neue Option: Normalerweise wird XSubst beim Windowsstart beendet, nachdem
  die Subst-Laufwerke eingerichtet wurden. Nun lässt sich festlegen, ob XSubst
  in diesem Fall dauerhaft im Systray angelegt werden soll oder nicht.
* Neue Option: Per Standard wird XSubst nur dann mit Windows gestartet, wenn
  es mindestens ein aktives Subst-Laufwerk gibt. Nun kann XSubst auch
  prinzipiell immer gestartet werden.
* Konfig neu gruppiert.

1.5.6 9.4.2006
--------------
* Im Kommentar einer Verknüpfung wird nun auch bei anderen Laufwerken ausser
  Subst und Netz-Laufwerken der Pfad (das Laufwerk um genau zu sein)
  eingetragen.
* Verhalten des Kontextmenüs im Trayicon geändert. Dadurch schliesst sich das
  Menü jetzt automatisch, sobald es den Fokus verliert. Ist eig. eh Standard.

1.5.5 24.3.2006
---------------
* Bugfix: Wurde der Pfad eines permanenten Subst-Laufwerks geändert, dann
  deaktiviert und wieder aktiviert, wurde das Laufwerk wieder mit dem
  ursprünglichen Pfad verbunden.
* Bugfix: Button Aktivieren/Deaktivieren blieb nach dem umschalten von
  deaktivierten Warnhinweisen zu aktivierten fälschlicherweise permanent rot,
  wenn der Listen-Cursor zu diesem Zeitpunkt auf einem aktivierten Subst-
  Laufwerk stand.
* Bugfix: Funktion {Ändern} prüfte nicht, ob Ziel bereits ein Subst- oder
  Netzlaufwerk ist.
* Bugfix: Der Verknüpfungs-Button konnte auch auf ein deaktiviertes und damit
  nicht existentes Subst-Laufwerk angewandt werden.
* Registry Zugriffe in der Run Gruppe werden nun konsequent unterbunden, wenn
  XSubst nicht lokal installiert ist. Damit werden eventuelle Änderungen am
  Startverhalten von XSubst bez. Windows-Neustart verhindert.
* Ein deaktiviertes Subst-Laufwerk bleibt nun nach einer Pfadänderung
  konsequenterweise weiterhin deaktiviert.
* Wurde bei deaktivierten Warnhinweisen ein Subst-Laufwerk deaktiviert, waren
  anschliessend die Buttons für Ändern sowie Trennen rot unterlegt und bei
  aktivierten Warnhinweisen gab es alternativ dazu einen Warnrequester. Da das
  Warnsystem jedoch nur bei tatsächlichen Laufwerks-Trennungen aktiv werden
  soll, bleiben die beiden Buttons in diesem Fall jetzt konsequenterweise ohne
  Warnungen.
* Verzeichnis-Requester enthält nun Angaben über den Modus (Verbinden/Ändern)
  und das Laufwerk.
* Pfadangaben werden nun auch bei inaktiven Laufwerken im longpath Format
  angezeigt.
* Kann mit Ändern oder Aktivieren kein Subst-Laufwerk eingerichtet werden, wird
  automatisch wieder der vorherige Zustand des Laufwerkes hergestellt.
* Tab-Reihenfolge der Buttons korrigiert.
* Für unbekannte Laufwerkstypen wurde der Typ "Unbekannt" hinzugefügt.
* Desktop-Verknüpfungen enthalten nun im Kommentar zusätzlich den Pfad mit dem
  das Laufwerk verbunden ist.
* Hilfe erweitert.

1.5 16.3.2006
-------------
* RELEASE
* Ob Gitterlinien angezeigt werden oder nicht, ist jetzt wählbar.
* Da Windows XP die Möglichkeit bietet inaktive Trayicons auszublenden, ist
  die Angabe der Versionsnummer im Tooltip des Trayicons eher hinderlich und
  wurde deshalb rausgenommen.

1.0.108 BETA 1.5 3.3.2006
-------------------------
* Funktionen {Neu Verbinden} und {Temp. trennen} zu {Aktivieren} und
  {Deaktivieren} auf einem Button zusammengefasst. Weiterhin {Verbinden}
  und {Ändern} auf einem Button zusammengefasst. Das spart insgesamt wieder
  einen Button. (Vorschlag: Icfu)
* Per Konfiguration kann nun die Fensterbreite, sowie die Reihenfolge der
  Spalten änderbar geschaltet werden. Reihenfolge, Spaltenbreite sowie
  Fensterbreite werden dann dauerhaft gespeichert. Dies beruht auf dem Vorschlag
  von Icfu, die Spalten anders anzuordnen. Da ich die Reihenfolge jedoch nicht
  fest ändern wollte, hab ich das ganze nun völlig flexibel ausgelegt.
* Gitterlinien in Liste aktiviert. Das ist optisch angenehmer.

1.0.98 BETA 1.5 28.2.2006
-------------------------
* Bugfix: Wurde XSubst von einem Wechseldatenträger gestartet, wurde zwar der
  Warn-Hinweis eingeblendet und Funktionen gesperrt, aber trotzdem der aktuelle
  Pfad in die Registry (Run) eingetragen.
* Neue Funktion: {Temp. trennen}. Damit lässt sich ein permanentes Subst-
  Laufwerk vorrübergehend (temporär) trennen.
* Funktionen {Verbinden} und {Neu Verbinden} zu einer Funktion zusammengefasst.
  Bei näherer Betrachtung machten zwei Buttons definitv keinen Sinn.
* Onlinehilfe überarbeitet.

1.0.89 BETA 1.5 25.2.2006
-------------------------
* Onlinehilfe geschrieben.
* HTMLHelp-System eingebaut.
* Menü geändert.

1.0.87 BETA 1.5 24.2.2006
-------------------------
* Kann jetzt wahlweise auch in Systray minimiert werden. (Vorschlag: gresti)

1.0.85 BETA 1.5 24.2.2006
-------------------------
* Bugfix: Wurde ein permanentes Subst-Laufwerk in ein Netz-Laufwerk geändert,
  wurde fälschlicherweise ein inaktives Subst-Laufwerk erkannt und auch so
  behandelt. Tatsächlich war es aber bereits ein Netz-Laufwerk.
* Bugfix: Der Verknüpfungs-Button konnte auch bei nicht vorhandenen Laufwerken
  angewandt werden. Das ist natürlich Nonsens, vor allem da Windows dann auch
  gar nicht wusste, was es für einen System-Link anlegen soll und deshalb
  einfach einen Text-Link erzeugte.
* XSubst kann nun auch minimiert werden.
* Inaktive aber als permament angelegte Subst-Laufwerke können nun per Button
  wieder neu verbunden werden. Hilfreich, wenn ein Subst-Laufwerk beim Windows-
  Start auf einen nicht vorhandenen Wechseldatenträger wie z.B. USB-Platte
  gemounted werden soll, aber dieser zu diesem Zeitpunkt nicht eingelegt bzw.
  angemeldet ist. (Vorschlag: gresti)

1.0.82 BETA 1.5 22.2.2006
-------------------------
* Bugfix: Wurde {Trennen} gewählt und dann aber abgebrochen, wurden nicht wieder
  alle Buttons freigegeben. Change-Button wurde ausserdem gar nicht
  berücksichtigt.
* Zu allen Laufwerken können nun auch direkte Verknüpfungen auf dem Desktop
  angelegt werden. (Vorschlag: gresti) Optional können zu neuen Laufwerken auch
  automatisch Verknüpfungen angelegt werden, wenn diese standardmässig auf
  permanent gestellt sind.

1.0.80 BETA 1.5 21.2.2006
-------------------------
* Die Ermittlung um welches Windows es sich handelt, erfolgt nun über API-
  Aufrufe anstatt Registry. Das ist zum einen sehr viel präziser und zum anderen
  gäbe es dadurch die Möglichkeit, jedes Windows getrennt zu behandeln wenn
  nötig. Zur Zeit reicht jedoch die Abfrage ob NT-Kernel oder nicht.
* Es werden nun auch die Pfade von temporären Netz-Laufwerken ermittelt. Dies
  war bisher nur bei permanenten der Fall.
* Parallel zu Subst-Laufwerken, gibt es nun auch bei Netz-Laufwerken die Angabe
  ob temporär oder pemanent.
* Unterstützung für Netzlaufwerke eingebaut. Diese werden exakt wie Subst-
  Laufwerke behandelt mit den gleichen Funktionen. Damit ist die Bedienung
  bezüglich beider Laufwerks-Typen identisch.
* Es gibt nun Warnhinweise oder aber rot gefärbte Buttons (umschaltbar). Dieses
  System dient als Warnung um Datenverlust vorzubeugen, wenn bei bestimmten
  Funktionen das jeweilige Laufwerk getrennt werden muss.
* Mit XSubst konnte man verschachtelte Subst-Laufwerke anlegen. Das gleiche
  würde ab dieser Version auch mit Netz-Laufwerken gehen. Um Chaos zu
  vermeiden, wird eine solche Verschachtelung nun prinzipiell verhindert.
* Es wird nun beim Start geprüft, ob sich XSubst auf einer festen lokalen
  Festplatte befindet oder nicht. Je nachdem werden dann Funktionen gesperrt die
  nicht möglich sind, wenn XSubst z.B. von einem USB-Stick aufgerufen wird. Der
  Warnhinweis selbst ist über einen Registry Tweak abschaltbar.
* Kleines Menü eingebaut.
* Infofenster eingebaut.
* Konfiguration eingebaut um auf einige Dinge Einfluss nehmen zu können.
* Es kann nun festgelegt werden, ob Subst-Laufwerke standardmässig auf permanent
  gesetzt werden oder nicht. Gleiches gilt für Netz-Laufwerke.
* Es werden nun zu etlichen Aktionen entsprechende Fehlermeldungen ausgegeben,
  falls nicht erfolgreich. XSubst ist also etwas gesprächiger geworden. *g*
* Fast der gesamte Sourcecode wurde umgekrempelt und optimiert. Ausser der GUI
  hat diese Version nicht mehr viel mit 1.0.63 gemeinsam. u.a. habe ich meine
  Registry-Library völlig neu geschrieben und um neue Funktionen erweitert.
* Speicherung der Subst-Daten und der erstmals verfügbaren Konfiguration,
  erfolgt nun konsequent in der Registry (USER). Dies hat etliche Vorteile: Zum
  einen wird dadurch eine konsequente Benutzerverwaltung möglich, die
  theoretisch nun auch unter 9x funktionieren müsste (sofern dort aktiviert).
  Weiterhin gibt es keine Probleme mit eventuell fehlenden Rechten (durch einen
  Admin festgelegt). Ausserdem kann der Standort der xsubst.exe nun beliebig
  verändert werden, da die globale Registry herangezogen wird, statt lokaler
  INI. Nach dem ändern des Installationspfades der .exe muss diese nur einmalig
  kurz aufgerufen werden.

1.0.63 10.10.2005
-----------------
* Umstellung von ZIP auf NSIS Installer.

1.0.63 23.8.2005
----------------
* Erste öffentliche Version

1.0.0 (2003)
-----------------
* Genaue Angaben nicht möglich, da XSubst lange Zeit ein rein internes Tool war.

XSubst © by Luke Filewalker
[EOFCAC]